import { Inject, Injectable } from '@nestjs/common';
import { CreateTagDto } from './dto/create-tag.dto';
import { UpdateTagDto } from './dto/update-tag.dto';
import { QueryDto } from './dto/query.dto';
import { ClientProxy } from '@nestjs/microservices';

@Injectable()
export class TagsService {
  constructor(
    @Inject('STORE_SERVICE') private client: ClientProxy
  ) {}

  create(createTagDto: CreateTagDto) {
    return this.client.emit('createTag', createTagDto);
  }

  findAll(query:QueryDto) {
    return this.client.send('findAllTags', query);
  }

  findOne(id: number) {
    return this.client.send('findOneTag', id);
  }

  update(id: number, updateTagDto: UpdateTagDto) {
    return this.client.emit('updateTag', {id, updateTagDto});
  }

  remove(id: number) {
    return this.client.emit('removeTag', id);
  }
}
